/**
 * 
 */
package inmobiliaria.frsf.dao.impl;

import inmobiliaria.frsf.dao.ColeccionesComunesDAO;
import inmobiliaria.frsf.model.Calle;
import inmobiliaria.frsf.model.Domicilio;
import inmobiliaria.frsf.model.Localidad;
import inmobiliaria.frsf.resources.connect.SqlMapConfig;

import java.util.List;
import java.util.Map;

import com.ibatis.sqlmap.client.SqlMapClient;

public class ColeccionesComunesDAOImpl implements ColeccionesComunesDAO {

	private SqlMapClient sqlMapClient = SqlMapConfig.getSqlMap();

	/*
	 * (non-Javadoc)
	 * 
	 * @see inmobiliaria.frsf.dao.PropietarioDAO#getById(java.lang.Integer)
	 */
	public List<Map<String, Object>> getProvincias() throws Exception {

		List<Map<String, Object>> provincias = (List<Map<String, Object>>) sqlMapClient
				.queryForList("getProvincias");

		return provincias;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see
	 * inmobiliaria.frsf.dao.ColeccionesComunesDAO#getLocalidades(java.lang.
	 * Long)
	 */
	public List<Map<String, Object>> getLocalidades(Long idProvincia)
			throws Exception {

		List<Map<String, Object>> provincias = (List<Map<String, Object>>) sqlMapClient
				.queryForList("getLocalidades", idProvincia);

		return provincias;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see
	 * inmobiliaria.frsf.dao.ColeccionesComunesDAO#getCalles(java.lang.Integer)
	 */
	public List<Map<String, Object>> getCalles(Integer idLocalidad)
			throws Exception {

		List<Map<String, Object>> calles = (List<Map<String, Object>>) sqlMapClient
				.queryForList("getCalles", idLocalidad);

		return calles;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see
	 * inmobiliaria.frsf.dao.ColeccionesComunesDAO#insertLocalidad(java.util
	 * .Map)
	 */
	public Integer insertLocalidad(Localidad localidad) throws Exception {
		Integer idLocalidad = (Integer) sqlMapClient.insert("insertLocalidad",
				localidad);

		return idLocalidad;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see
	 * inmobiliaria.frsf.dao.ColeccionesComunesDAO#insertCalle(java.util.Map)
	 */
	public Integer insertCalle(Calle calle) throws Exception {
		Integer idCalle = (Integer) sqlMapClient.insert("insertCalle", calle);

		return idCalle;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see
	 * inmobiliaria.frsf.dao.ColeccionesComunesDAO#insertDomicilio(inmobiliaria
	 * .frsf.model.Domicilio)
	 */
	public Integer insertDomicilio(Domicilio domicilio) throws Exception {
		Integer idDomilicio = (Integer) sqlMapClient.insert("insertDomicilio",
				domicilio);

		return idDomilicio;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see
	 * inmobiliaria.frsf.dao.ColeccionesComunesDAO#updateDomicilio(inmobiliaria
	 * .frsf.model.Domicilio)
	 */
	public void updateDomicilio(Domicilio domicilio) throws Exception {
		sqlMapClient.update("updateDomicilio", domicilio);

	}

}
